﻿cmake_minimum_required(VERSION 3.15)  # 需要 CMake 3.15+ 以支持现代特性

# 项目设置
project(GodFromPeopleServer
  LANGUAGES CXX       # C++ 项目
  VERSION 1.0         # 可选版本号
)

# 手动设置 Boost 路径（替换成你的实际路径）
set(Boost_ROOT "/usr/local")          # Boost 根目录
set(Boost_INCLUDEDIR "/usr/local/include/boost")  # 头文件目录
set(Boost_LIBRARYDIR "/usr/local/lib")       # 库文件目录

# 设置 C++20 标准
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)   # 必须支持 C++20
set(CMAKE_CXX_EXTENSIONS OFF)         # 禁用编译器扩展（如 GNU 的 -std=gnu++20）

# 添加所有源文件和头文件
file(GLOB SOURCE "*.cpp")
file(GLOB HEADER_H "*.h")
file(GLOB HEADER_HPP "*.hpp")

# 合并两个列表
set(HEADER ${HEADER_H} ${HEADER_HPP})
# 创建分组

source_group("Source Files/Source" FILES ${SOURCE})
source_group("Header Files/Header" FILES ${HEADER})


# 查找 Boost 库（根据需要修改组件）
find_package(Boost 1.87.0 REQUIRED COMPONENTS serialization)  # 示例组件

# 添加到可执行文件
add_executable(${PROJECT_NAME} ${SOURCE} ${HEADER})


# 链接 Boost 库
target_link_libraries(${PROJECT_NAME} PRIVATE
  Boost::headers
  Boost::serialization
)

